home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / Blitz2 / BlitzFaq / FaqLists / Primenumber.txt < prev    next >
Encoding:
Text File  |  1996-09-03  |  869 b   |  51 lines

  1. .prime
  2. Print "Enter the upper limit:  "
  3. upper = Edit(80) : If upper < 1 Then End
  4.  
  5. If upper > 8
  6. mx = Int(upper / 2) + 1
  7. Else
  8. mx = upper
  9. EndIf
  10.  
  11. Dim pn(mx) : num=1 : pn(0) = 1 : pn(1) = 2
  12.  
  13. per = Int(upper / 10) : If per = 0 Then per = 1
  14.  
  15. Format "000"
  16.  
  17. ResetTimer
  18.  
  19. NPrint "" : Print "Calculating 000%"+Chr$(8)
  20.  
  21.  For t = 3 To upper
  22.  
  23.   perc + 1
  24.   If perc > per
  25.   perc = 0
  26.   Print Chr$(8)+Chr$(8)+Chr$(8) : Print t / upper * 100
  27.   EndIf
  28.  
  29.   noprime = 0 : tt = 0
  30.   Repeat
  31.   tt+1 : frc=Frac(t/pn(tt))
  32.   Until  frc = 0 OR pn(tt) > Sqr(t)
  33.   If frc <> 0 Then num + 1 : pn(num) = t
  34.  
  35.  Next
  36.  
  37. t=Ticks : Print Chr$(8)+Chr$(8)+Chr$(8) : Print "100%"
  38.  
  39. Format ""
  40.  
  41. NPrint "" : NPrint ""
  42. NPrint "Prime numbers in the range 1 to ",upper," are:"
  43.  
  44. For a = 0 To num
  45.  If pn(a) <= upper Then NPrint pn(a)
  46. Next a
  47.  
  48. NPrint "Finished, in ",t / 50," seconds. (Press Enter to Quit)"
  49. NPrint ""
  50.  
  51. Goto prime